package uy.edu.um.ltic.commons;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.sql.Timestamp;
import java.util.ArrayList;

import uy.edu.um.ltic.exception.DataBaseException;

public interface MessageRemoteMgt extends Remote{

	void addMessage(MessageVO oMessage) throws RemoteException, DataBaseException;
	ArrayList<MessageVO> getMessagesBetweenTwo(EmployeeVO sender, EmployeeVO receiver)throws RemoteException, DataBaseException;
	ArrayList<MessageVO> getConferenceMessages(int idConference)throws RemoteException, DataBaseException;
	ArrayList<EmployeeVO> getLastEmployees(int nEmployee)throws RemoteException, DataBaseException;
	ArrayList<MessageVO> getMessagesWithTheWord(String word)throws RemoteException, DataBaseException;
	int getAmountOfWordsWritten(int nEmployee, Timestamp date1, Timestamp date2)throws RemoteException, DataBaseException;
	ArrayList<Integer> getFilesFromOneEmployeeToAnother(int sender, int receiver)throws RemoteException, DataBaseException;
	String getNameOfFile(int id)throws RemoteException, DataBaseException;
	byte[] getFile(int id)throws RemoteException, DataBaseException;
}
